Parameter Menu Scripts

Attribute Fields

Number Fields (Floats & Integers)

result = ["",""]
try:
    geo = hou.pwd().inputs()[0].geometry()
    attribs = geo.pointAttribs()
    if attribs is not None:
        result = []
        for attr in attribs:
            if attr.dataType() != hou.attribData.String and attr.size() == 1 and not attr.isArrayType():
                result.append(attr.name())
                result.append(attr.name())
finally: return result

Float Fields

result = ["",""]
geo = hou.pwd().inputs()[0].geometry()

if geo is not None:
    attribs = geo.pointAttribs()
    if attribs is not None:
        result = []
        for attr in attribs:
            if attr.dataType() == hou.attribData.Float and attr.size() == 1:
                result.append(attr.name())
                result.append(attr.name())
return result

Integer Fields

result = ["",""]
geo = hou.pwd().inputs()[0].geometry()

if geo is not None:
    attribs = geo.pointAttribs()
    if attribs is not None:
        result = []
        for attr in attribs:
            if attr.dataType() == hou.attribData.Int and attr.size() == 1:
                result.append(attr.name())
                result.append(attr.name())
return result

String Fields

result = ["",""]
geo = hou.pwd().inputs()[0].geometry()

if geo is not None:
    attribs = geo.pointAttribs()
    if attribs is not None:
        result = []
        for attr in attribs:
            if attr.dataType() == hou.attribData.String and attr.size() == 1:
                result.append(attr.name())
                result.append(attr.name())
return result

Vector Fields

result = ["",""]
geo = hou.pwd().inputs()[0].geometry()

if geo is not None:
    attribs = geo.pointAttribs()
    if attribs is not None:
        result = []
        for attr in attribs:
            if attr.dataType() != hou.attribData.String and attr.size() > 1:
                result.append(attr.name())
                result.append(attr.name())
return result

Group Fields

result = ["",""]
geo = hou.pwd().inputs()[0].geometry()

if geo is not None:
    groups = geo.pointGroups()

    if groups is not None:
        result = []
        for group in groups:
            result.append(group.name())
            result.append(group.name())
return result